<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Karamelo: Grid Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="karamelodoxy.css" rel="stylesheet" type="text/css">
<!--  -->
<script type="text/javascript" src="karamelo_navtree_hacks.js"></script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.karamelo.org"><img alt="Logo" src="Karamelo_logo.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname"><a href="http://www.karamelo.org">Karamelo</a>
   &#160;<span id="projectnumber">714599e9</span>
   </div>
   <div id="projectbrief">Parallel Material Point Method Simulator</div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classGrid.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="classGrid-members.html">List of all members</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a>  </div>
  <div class="headertitle">
<div class="title">Grid Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This class holds all the variables and independent functions related the background grid(s).</p>
<p>This class does not have as members functions related to the Particle to <a class="el" href="classGrid.html">Grid</a> (P2G) and <a class="el" href="classGrid.html">Grid</a> to Particle (G2P) steps of the <a class="el" href="classMPM.html">MPM</a> algorithm. This is due to the necessity to access the mass, velocity, body forces and stresses of particles held in the <a class="el" href="classSolid.html">Solid</a> class. Instead, these functions are members of the <a class="el" href="classSolid.html">Solid</a> Class since this class stores a pointer to the grid it uses. Either a local grid, as used in the Total Lagrangian <a class="el" href="classMPM.html">MPM</a>, or the global grid, as used in the Updated Lagrangian <a class="el" href="classMPM.html">MPM</a>. This class has <a class="el" href="classPointers.html">Pointers</a> as parent in order to be accessible from anywhere within the <a class="el" href="classMPM.html">MPM</a> class. </p>
</div><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for Grid:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classGrid__inherit__graph.png" border="0" usemap="#Grid_inherit__map" alt="Inheritance graph"/></div>
<map name="Grid_inherit__map" id="Grid_inherit__map">
<area shape="rect" id="node2" href="classPointers.html" title="{Pointers\n|# domain\l# error\l# group\l# infile\l# input\l# logfile\l# material\l# memory\l# modify\l# mpm\l# output\l# universe\l# update\l# wlogfile\l|+ Pointers()\l+ ~Pointers()\l}" alt="" coords="69,5,167,288"/>
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a04de55bfdff52b50a31a7cf32ecfac13"><td class="memItemLeft" align="right" valign="top"><a id="a04de55bfdff52b50a31a7cf32ecfac13"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a04de55bfdff52b50a31a7cf32ecfac13">grow</a> (int)</td></tr>
<tr class="memdesc:a04de55bfdff52b50a31a7cf32ecfac13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate memory for the vectors used for local nodes or resize them. <br /></td></tr>
<tr class="separator:a04de55bfdff52b50a31a7cf32ecfac13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cf1e3658328e4feb8c5193673115680"><td class="memItemLeft" align="right" valign="top"><a id="a2cf1e3658328e4feb8c5193673115680"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a2cf1e3658328e4feb8c5193673115680">grow_ghosts</a> (int)</td></tr>
<tr class="memdesc:a2cf1e3658328e4feb8c5193673115680"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate memory for the vectors used for ghost nodes or resize them. <br /></td></tr>
<tr class="separator:a2cf1e3658328e4feb8c5193673115680"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fbda731d15cff12497440f731148921"><td class="memItemLeft" align="right" valign="top"><a id="a1fbda731d15cff12497440f731148921"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a1fbda731d15cff12497440f731148921">init</a> (double *, double *)</td></tr>
<tr class="memdesc:a1fbda731d15cff12497440f731148921"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create the array of nodes. Give them their position, tag, and type. <br /></td></tr>
<tr class="separator:a1fbda731d15cff12497440f731148921"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67a35cbaeaaa14ef96c57a240277d43d"><td class="memItemLeft" align="right" valign="top"><a id="a67a35cbaeaaa14ef96c57a240277d43d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a67a35cbaeaaa14ef96c57a240277d43d">reduce_ghost_nodes</a> (bool only_v=false)</td></tr>
<tr class="memdesc:a67a35cbaeaaa14ef96c57a240277d43d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce the force and velocities of all the ghost nodes from that computed on each CPU. If only_v is true, it reduces only the velocities. <br /></td></tr>
<tr class="separator:a67a35cbaeaaa14ef96c57a240277d43d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70b58a27e8dddb7c9eb5b14a2b315623"><td class="memItemLeft" align="right" valign="top"><a id="a70b58a27e8dddb7c9eb5b14a2b315623"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a70b58a27e8dddb7c9eb5b14a2b315623">reduce_mass_ghost_nodes</a> ()</td></tr>
<tr class="memdesc:a70b58a27e8dddb7c9eb5b14a2b315623"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce the mass of all the ghost nodes from that computed on each CPU. <br /></td></tr>
<tr class="separator:a70b58a27e8dddb7c9eb5b14a2b315623"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addb83ae21e4782fd18cd1da6aa15f083"><td class="memItemLeft" align="right" valign="top"><a id="addb83ae21e4782fd18cd1da6aa15f083"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#addb83ae21e4782fd18cd1da6aa15f083">reduce_regularized_variables</a> ()</td></tr>
<tr class="memdesc:addb83ae21e4782fd18cd1da6aa15f083"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce the pressure interpolated at the grid nodes. <br /></td></tr>
<tr class="separator:addb83ae21e4782fd18cd1da6aa15f083"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a737e96fe193c3bf7425be60c556c2ab4"><td class="memItemLeft" align="right" valign="top"><a id="a737e96fe193c3bf7425be60c556c2ab4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a737e96fe193c3bf7425be60c556c2ab4">update_grid_positions</a> ()</td></tr>
<tr class="memdesc:a737e96fe193c3bf7425be60c556c2ab4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine the new position of the grid nodes. <br /></td></tr>
<tr class="separator:a737e96fe193c3bf7425be60c556c2ab4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a206dd32ae2e20001e354610eb36b2738"><td class="memItemLeft" align="right" valign="top"><a id="a206dd32ae2e20001e354610eb36b2738"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a206dd32ae2e20001e354610eb36b2738">update_grid_velocities</a> ()</td></tr>
<tr class="memdesc:a206dd32ae2e20001e354610eb36b2738"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine the temporary grid velocities \(\tilde{v}_{n}\). <br /></td></tr>
<tr class="separator:a206dd32ae2e20001e354610eb36b2738"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a643c991a5ff6e2609fd180a07b6d0d86"><td class="memItemLeft" align="right" valign="top"><a id="a643c991a5ff6e2609fd180a07b6d0d86"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a643c991a5ff6e2609fd180a07b6d0d86">cellsize</a></td></tr>
<tr class="memdesc:a643c991a5ff6e2609fd180a07b6d0d86"><td class="mdescLeft">&#160;</td><td class="mdescRight">size of the square cells forming the grid <br /></td></tr>
<tr class="separator:a643c991a5ff6e2609fd180a07b6d0d86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4342dc39fc169bc44ee9976381c2f7d0"><td class="memItemLeft" align="right" valign="top"><a id="a4342dc39fc169bc44ee9976381c2f7d0"></a>
map&lt; int, vector&lt; tagint &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a4342dc39fc169bc44ee9976381c2f7d0">dest_nshared</a></td></tr>
<tr class="memdesc:a4342dc39fc169bc44ee9976381c2f7d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">for each CPU, list the tags of shared nodes <br /></td></tr>
<tr class="separator:a4342dc39fc169bc44ee9976381c2f7d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27e5ca54c8421d801a331b069ee55a1b"><td class="memItemLeft" align="right" valign="top"><a id="a27e5ca54c8421d801a331b069ee55a1b"></a>
vector&lt; Eigen::Vector3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a27e5ca54c8421d801a331b069ee55a1b">f</a></td></tr>
<tr class="memdesc:a27e5ca54c8421d801a331b069ee55a1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">nodes' internal forces <br /></td></tr>
<tr class="separator:a27e5ca54c8421d801a331b069ee55a1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e313d04723b11ee2b2095834fbcadcc"><td class="memItemLeft" align="right" valign="top"><a id="a0e313d04723b11ee2b2095834fbcadcc"></a>
map&lt; int, int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a0e313d04723b11ee2b2095834fbcadcc">map_ntag</a></td></tr>
<tr class="memdesc:a0e313d04723b11ee2b2095834fbcadcc"><td class="mdescLeft">&#160;</td><td class="mdescRight">map_ntag[ntag[i]] = i; <br /></td></tr>
<tr class="separator:a0e313d04723b11ee2b2095834fbcadcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95db5faa3cfa48b813891708f7a1de0b"><td class="memItemLeft" align="right" valign="top"><a id="a95db5faa3cfa48b813891708f7a1de0b"></a>
vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a95db5faa3cfa48b813891708f7a1de0b">mask</a></td></tr>
<tr class="memdesc:a95db5faa3cfa48b813891708f7a1de0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">nodes' group mask <br /></td></tr>
<tr class="separator:a95db5faa3cfa48b813891708f7a1de0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a918a9bbfb80c7e84d4990453d9320561"><td class="memItemLeft" align="right" valign="top"><a id="a918a9bbfb80c7e84d4990453d9320561"></a>
vector&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a918a9bbfb80c7e84d4990453d9320561">mass</a></td></tr>
<tr class="memdesc:a918a9bbfb80c7e84d4990453d9320561"><td class="mdescLeft">&#160;</td><td class="mdescRight">nodes' current mass <br /></td></tr>
<tr class="separator:a918a9bbfb80c7e84d4990453d9320561"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbeee2440526da444acaf7a766a11dde"><td class="memItemLeft" align="right" valign="top"><a id="afbeee2440526da444acaf7a766a11dde"></a>
vector&lt; Eigen::Vector3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#afbeee2440526da444acaf7a766a11dde">mb</a></td></tr>
<tr class="memdesc:afbeee2440526da444acaf7a766a11dde"><td class="mdescLeft">&#160;</td><td class="mdescRight">nodes' external forces times the mass <br /></td></tr>
<tr class="separator:afbeee2440526da444acaf7a766a11dde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec60ccd3de7d3daf6e183ed0194cc9b1"><td class="memItemLeft" align="right" valign="top"><a id="aec60ccd3de7d3daf6e183ed0194cc9b1"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#aec60ccd3de7d3daf6e183ed0194cc9b1">ncells</a></td></tr>
<tr class="memdesc:aec60ccd3de7d3daf6e183ed0194cc9b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of cells <br /></td></tr>
<tr class="separator:aec60ccd3de7d3daf6e183ed0194cc9b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a710b8a0e6198be26c21a15803ff834ad"><td class="memItemLeft" align="right" valign="top"><a id="a710b8a0e6198be26c21a15803ff834ad"></a>
bigint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a710b8a0e6198be26c21a15803ff834ad">nnodes</a></td></tr>
<tr class="memdesc:a710b8a0e6198be26c21a15803ff834ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">total number of nodes in the domain <br /></td></tr>
<tr class="separator:a710b8a0e6198be26c21a15803ff834ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7906d2916aca27a3a06b5a674ae57c9"><td class="memItemLeft" align="right" valign="top"><a id="ad7906d2916aca27a3a06b5a674ae57c9"></a>
bigint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#ad7906d2916aca27a3a06b5a674ae57c9">nnodes_ghost</a></td></tr>
<tr class="memdesc:ad7906d2916aca27a3a06b5a674ae57c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of ghost nodes (in this CPU) <br /></td></tr>
<tr class="separator:ad7906d2916aca27a3a06b5a674ae57c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7189b76d5f49d2e182f04587ff32ccd"><td class="memItemLeft" align="right" valign="top"><a id="ae7189b76d5f49d2e182f04587ff32ccd"></a>
bigint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#ae7189b76d5f49d2e182f04587ff32ccd">nnodes_local</a></td></tr>
<tr class="memdesc:ae7189b76d5f49d2e182f04587ff32ccd"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of nodes (in this CPU) <br /></td></tr>
<tr class="separator:ae7189b76d5f49d2e182f04587ff32ccd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcae9645bfbc761de81a8c12633bb6e5"><td class="memItemLeft" align="right" valign="top"><a id="afcae9645bfbc761de81a8c12633bb6e5"></a>
vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#afcae9645bfbc761de81a8c12633bb6e5">nowner</a></td></tr>
<tr class="memdesc:afcae9645bfbc761de81a8c12633bb6e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">which CPU owns each node (universe-&gt;me for local nodes, other CPU for ghost nodes <br /></td></tr>
<tr class="separator:afcae9645bfbc761de81a8c12633bb6e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2d8512139c4268db55a94495cbf16a7"><td class="memItemLeft" align="right" valign="top"><a id="aa2d8512139c4268db55a94495cbf16a7"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#aa2d8512139c4268db55a94495cbf16a7">nshared</a></td></tr>
<tr class="memdesc:aa2d8512139c4268db55a94495cbf16a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of nodes that are shared (ghosts in other CPUs) <br /></td></tr>
<tr class="separator:aa2d8512139c4268db55a94495cbf16a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac924acfb15a9ae46197b4f0da52cb8bb"><td class="memItemLeft" align="right" valign="top"><a id="ac924acfb15a9ae46197b4f0da52cb8bb"></a>
vector&lt; tagint &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#ac924acfb15a9ae46197b4f0da52cb8bb">ntag</a></td></tr>
<tr class="memdesc:ac924acfb15a9ae46197b4f0da52cb8bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">unique identifier for nodes in the system. <br /></td></tr>
<tr class="separator:ac924acfb15a9ae46197b4f0da52cb8bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa88e1ac28ff6eeb76a89105370323af"><td class="memItemLeft" align="right" valign="top"><a id="aaa88e1ac28ff6eeb76a89105370323af"></a>
vector&lt; array&lt; int, 3 &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#aaa88e1ac28ff6eeb76a89105370323af">ntype</a></td></tr>
<tr class="memdesc:aaa88e1ac28ff6eeb76a89105370323af"><td class="mdescLeft">&#160;</td><td class="mdescRight">node type in x, y, and z directions (False for an edge, True otherwise) <br /></td></tr>
<tr class="separator:aaa88e1ac28ff6eeb76a89105370323af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c4c378092a3c6543545f3941b3794d7"><td class="memItemLeft" align="right" valign="top"><a id="a7c4c378092a3c6543545f3941b3794d7"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a7c4c378092a3c6543545f3941b3794d7">nx</a></td></tr>
<tr class="memdesc:a7c4c378092a3c6543545f3941b3794d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of nodes along x on this CPU <br /></td></tr>
<tr class="separator:a7c4c378092a3c6543545f3941b3794d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28d77360e7d11bc5f3434d7e0253b097"><td class="memItemLeft" align="right" valign="top"><a id="a28d77360e7d11bc5f3434d7e0253b097"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a28d77360e7d11bc5f3434d7e0253b097">nx_global</a></td></tr>
<tr class="memdesc:a28d77360e7d11bc5f3434d7e0253b097"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of nodes along x on all CPUs <br /></td></tr>
<tr class="separator:a28d77360e7d11bc5f3434d7e0253b097"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3542224a9f0d3f96ddb35ff86e48cdb0"><td class="memItemLeft" align="right" valign="top"><a id="a3542224a9f0d3f96ddb35ff86e48cdb0"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a3542224a9f0d3f96ddb35ff86e48cdb0">ny</a></td></tr>
<tr class="memdesc:a3542224a9f0d3f96ddb35ff86e48cdb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of nodes along y on this CPU <br /></td></tr>
<tr class="separator:a3542224a9f0d3f96ddb35ff86e48cdb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77b9e87080e6d91f40c7e5a2f59f4ae0"><td class="memItemLeft" align="right" valign="top"><a id="a77b9e87080e6d91f40c7e5a2f59f4ae0"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a77b9e87080e6d91f40c7e5a2f59f4ae0">ny_global</a></td></tr>
<tr class="memdesc:a77b9e87080e6d91f40c7e5a2f59f4ae0"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of nodes along y on all CPUs <br /></td></tr>
<tr class="separator:a77b9e87080e6d91f40c7e5a2f59f4ae0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a665db3b25629d599d2b1cbaff34f7484"><td class="memItemLeft" align="right" valign="top"><a id="a665db3b25629d599d2b1cbaff34f7484"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a665db3b25629d599d2b1cbaff34f7484">nz</a></td></tr>
<tr class="memdesc:a665db3b25629d599d2b1cbaff34f7484"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of nodes along z on this CPU <br /></td></tr>
<tr class="separator:a665db3b25629d599d2b1cbaff34f7484"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0321e21ad68a5a4de2bd95c6edcd2157"><td class="memItemLeft" align="right" valign="top"><a id="a0321e21ad68a5a4de2bd95c6edcd2157"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a0321e21ad68a5a4de2bd95c6edcd2157">nz_global</a></td></tr>
<tr class="memdesc:a0321e21ad68a5a4de2bd95c6edcd2157"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of nodes along z on all CPUs <br /></td></tr>
<tr class="separator:a0321e21ad68a5a4de2bd95c6edcd2157"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a545a6a9830ce92b46a35a114e77d6712"><td class="memItemLeft" align="right" valign="top"><a id="a545a6a9830ce92b46a35a114e77d6712"></a>
map&lt; int, vector&lt; tagint &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a545a6a9830ce92b46a35a114e77d6712">origin_nshared</a></td></tr>
<tr class="memdesc:a545a6a9830ce92b46a35a114e77d6712"><td class="mdescLeft">&#160;</td><td class="mdescRight">for each CPU, list the tags of ghost nodes <br /></td></tr>
<tr class="separator:a545a6a9830ce92b46a35a114e77d6712"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac21878196802880a44a31d333337358c"><td class="memItemLeft" align="right" valign="top"><a id="ac21878196802880a44a31d333337358c"></a>
MPI_Datatype&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#ac21878196802880a44a31d333337358c">Pointtype</a></td></tr>
<tr class="memdesc:ac21878196802880a44a31d333337358c"><td class="mdescLeft">&#160;</td><td class="mdescRight">MPI type for struct <a class="el" href="structPoint.html">Point</a>. <br /></td></tr>
<tr class="separator:ac21878196802880a44a31d333337358c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cd5b2c2d7ed5dda8c9631af9fe5525c"><td class="memItemLeft" align="right" valign="top"><a id="a2cd5b2c2d7ed5dda8c9631af9fe5525c"></a>
vector&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a2cd5b2c2d7ed5dda8c9631af9fe5525c">rigid</a></td></tr>
<tr class="memdesc:a2cd5b2c2d7ed5dda8c9631af9fe5525c"><td class="mdescLeft">&#160;</td><td class="mdescRight">are the nodes in the area of influence of a rigid body? <br /></td></tr>
<tr class="separator:a2cd5b2c2d7ed5dda8c9631af9fe5525c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc45fb14597e3809cb7ca1970ee50bf0"><td class="memItemLeft" align="right" valign="top"><a id="afc45fb14597e3809cb7ca1970ee50bf0"></a>
vector&lt; tagint &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#afc45fb14597e3809cb7ca1970ee50bf0">shared</a></td></tr>
<tr class="memdesc:afc45fb14597e3809cb7ca1970ee50bf0"><td class="mdescLeft">&#160;</td><td class="mdescRight">tag of all shared nodes <br /></td></tr>
<tr class="separator:afc45fb14597e3809cb7ca1970ee50bf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af38355ccf01df824d9799f0f46177d05"><td class="memItemLeft" align="right" valign="top"><a id="af38355ccf01df824d9799f0f46177d05"></a>
vector&lt; Eigen::Vector3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#af38355ccf01df824d9799f0f46177d05">v</a></td></tr>
<tr class="memdesc:af38355ccf01df824d9799f0f46177d05"><td class="mdescLeft">&#160;</td><td class="mdescRight">nodes' velocity at time t <br /></td></tr>
<tr class="separator:af38355ccf01df824d9799f0f46177d05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23cfaae6069c3f2dc44e479bca5a210f"><td class="memItemLeft" align="right" valign="top"><a id="a23cfaae6069c3f2dc44e479bca5a210f"></a>
vector&lt; Eigen::Vector3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a23cfaae6069c3f2dc44e479bca5a210f">v_update</a></td></tr>
<tr class="memdesc:a23cfaae6069c3f2dc44e479bca5a210f"><td class="mdescLeft">&#160;</td><td class="mdescRight">nodes' velocity at time t+dt <br /></td></tr>
<tr class="separator:a23cfaae6069c3f2dc44e479bca5a210f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a865a2bde51e3cf54f436b813eccf9d77"><td class="memItemLeft" align="right" valign="top"><a id="a865a2bde51e3cf54f436b813eccf9d77"></a>
vector&lt; Eigen::Vector3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a865a2bde51e3cf54f436b813eccf9d77">x</a></td></tr>
<tr class="memdesc:a865a2bde51e3cf54f436b813eccf9d77"><td class="mdescLeft">&#160;</td><td class="mdescRight">nodes' current position <br /></td></tr>
<tr class="separator:a865a2bde51e3cf54f436b813eccf9d77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8442fbd596124be166e69403cd315479"><td class="memItemLeft" align="right" valign="top"><a id="a8442fbd596124be166e69403cd315479"></a>
vector&lt; Eigen::Vector3d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGrid.html#a8442fbd596124be166e69403cd315479">x0</a></td></tr>
<tr class="memdesc:a8442fbd596124be166e69403cd315479"><td class="mdescLeft">&#160;</td><td class="mdescRight">nodes' position in the reference coordinate system <br /></td></tr>
<tr class="separator:a8442fbd596124be166e69403cd315479"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="grid_8h_source.html">grid.h</a></li>
<li>grid.cpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classGrid.html">Grid</a></li>
    <li class="footer">Generated on Tue Jul 7 2020 22:31:23 for Karamelo by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
<!-- Matomo -->
<script type="text/javascript">
  var _paq = _paq || [];
  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="//stats.sylphide-consulting.com/matomo/";
    _paq.push(['setTrackerUrl', u+'piwik.php']);
    _paq.push(['setSiteId', '20']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<noscript><p><img src="//stats.sylphide-consulting.com/matomo/piwik.php?idsite=20&rec=1" style="border:0;" alt="" /></p></noscript>
<!-- End Matomo Code -->
</body>
</html>
